#ifndef initialization_H
#define initialization_H

//=====================================================================================================================================
//----------------------initialization basic----------------------
//=====================================================================================================================================
void initialization_basic_fluid();


//=====================================================================================================================================
//----------------------initialization for new simulation - field variables----------------------
//=====================================================================================================================================
void initialization_new_fluid();
// initial particle distribution functions
void initialization_new_fluid_pdf();

//=====================================================================================================================================
//----------------------initial particle location and boundary condition----------------------
//=====================================================================================================================================
void calculate_basic_particles_info_after_read();
void initialization_particle_BC();
void initialization_sphere_BC();
//=====================================================================================================================================
//----------------------initialization for old simulation - field variables----------------------
//=====================================================================================================================================
void initialization_old_fluid();
//=====================================================================================================================================
//----------------------memory allocate / deallocate----------------------
//=====================================================================================================================================
//************* fluid flow related memory allocate/deallocate ******************************
void MemAllocate_fluid(int flag);
//************* particle boundary related memory allocate/deallocate ******************************
void MemAllocate_particle(int flag);

//===================================================================
//------------- initialize memory size -------------
//=================================================================== 
void initMemSize();

//===================================================================
//------------- parameters initialize for simulation model -------------
//=================================================================== 
void initLBMPara();

//=====================================================================================================================================
//----------------------save some basic info that the simulation used----------------------
//=====================================================================================================================================
void save_basic_info_Simulation();


#endif